import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class AirChance {

	static final String CONN_URL = "jdbc:oracle:thin:@im2ag-oracle.e.ujf-grenoble.fr:1521:ufrima";

	static final String USER = "cailleol";
	static final String PASSWD = "bd2012";

	private static void menu() {
		System.out.println("*** Choisir une action a effectuer : ***");
		System.out.println("0 : Quitter");
		System.out.println("1 : Ajout");
		System.out.println("2 : Modification");
		System.out.println("3 : Suppresion");
		System.out.println("5 : Commit");
		System.out.println("6 : Rollback");
	}
	
	private static void ajout(Connection conn) throws SQLException {
		
		int actionAjout;
		
		System.out.println("*** Choisir une action a effectuer : ***");
		System.out.println("0 : Quitter");
		System.out.println("1 : Ajout d'un vol");
		System.out.println("2 : Ajout d'un personnel de vol");
		System.out.println("3 : Retour");
		
		boolean exit = false;		
		
		while (!exit) {
			actionAjout = LectureClavier.lireEntier("votre choix ?");
			switch (actionAjout) {
			case 0:
				exit = true;
				conn.close();
				System.out.println("au revoir");
				System.exit(0);
				break;
			case 1:
//				selection(conn);
				System.out.println("Ajouter un vol");
				break;
			case 2:
//				insertion(conn);
				System.out.println("Ajouter un personnel de vol");
				break;
			case 3:
//				debit(conn);
				menu();
				exit = true;
				break;
			default:
				System.out.println("=> choix incorrect");
				menu();
			}
			
			
		}
	}

	public static void main(String args[]) throws SQLException {

		try {

			int actionMenu;

			boolean exit = false;

			// Enregistrement du driver Oracle
			System.out.print("Loading Oracle driver... ");
			DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
			System.out.println("loaded");

			// Etablissement de la connection
			System.out.print("Connecting to the database... ");
			Connection conn = DriverManager.getConnection(CONN_URL, USER,
					PASSWD);
			System.out.println("connected");

			// Desactivation de l'autocommit
			conn.setAutoCommit(false);
			System.out.println("Autocommit disabled");
			menu();

			while (!exit) {
				actionMenu = LectureClavier.lireEntier("votre choix ?");
				switch (actionMenu) {
				case 0:
					exit = true;
					break;
				case 1:
//					selection(conn);
					ajout(conn);
					break;
				case 2:
//					insertion(conn);
					break;
				case 3:
//					debit(conn);
					break;
				case 4:
//					credit(conn);
					break;
				case 5:
//					commit(conn);
					break;
				case 6:
//					rollback(conn);
					break;
				case 7:
//					getIsolation(conn);
					break;
				case 8:
//					setIsolation(conn);
					break;
				default:
					System.out.println("=> choix incorrect");
					menu();
				}
			}

			// Liberation des ressources et fermeture de la connexion...
			conn.close();

			System.out.println("au revoir");

			// traitement d'exception
		} catch (SQLException e) {
			System.err.println("failed");
			System.out.println("Affichage de la pile d'erreur");
			// e.printStackTrace(System.err);
			System.out.println("Affichage du message d'erreur");
			System.out.println(e.getMessage());
			System.out.println("Affichage du code d'erreur");
			System.out.println(e.getErrorCode());
		}
	}


}
